.detail-page {
  width: 100%;
  min-height: 100vh;
  background-color: #f8f8f8;

  .recipe-header {
    position: relative;
    height: 300px;

    .recipe-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .header-overlay {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
      padding: 20px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;

      .back-btn {
        width: 44px;
        height: 44px;
        background: rgba(255, 255, 255, 0.3);
        backdrop-filter: blur(5px);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
      }

      .recipe-name {
        font-size: 36px;
        font-weight: bold;
        color: #fff;
        margin-bottom: 10px;
      }

      .recipe-tags {
        display: flex;
        flex-wrap: wrap;

        .tag {
          display: inline-block;
          background: rgba(255, 255, 255, 0.3);
          backdrop-filter: blur(5px);
          color: #fff;
          padding: 6px 12px;
          border-radius: 20px;
          font-size: 24px;
          margin-right: 8px;
          margin-bottom: 8px;

          &.vegetarian {
            background: rgba(76, 175, 80, 0.3);
            border: 1px solid rgba(76, 175, 80, 0.5);
          }
        }
      }
    }
  }

  .recipe-not-found {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;

    .back-btn {
      --button-primary-background-color: #ff6b6b;
      --button-primary-border-color: #ff6b6b;
      --button-font-size: 28px;
      margin-top: 20px;
      border-radius: 20px;
    }
  }

  .recipe-content {
    padding: 20px;
    box-sizing: border-box;
    height: calc(100vh - 300px);

    .action-buttons {
      display: flex;
      justify-content: flex-start;
      margin-bottom: 20px;

      .action-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-right: 30px;

        .btn-text {
          font-size: 24px;
          color: #666;
          margin-top: 5px;
        }
      }
    }

    .section {
      margin-bottom: 25px;

      .section-title {
        font-size: 32px;
        font-weight: bold;
        color: #333;
        margin-bottom: 15px;
        display: block;
        position: relative;
        padding-left: 15px;

        &::before {
          content: '';
          position: absolute;
          left: 0;
          top: 8px;
          height: 20px;
          width: 6px;
          background-color: #ff6b6b;
          border-radius: 3px;
        }
      }
    }

    .ingredients-section {
      .ingredients-list {
        display: flex;
        flex-wrap: wrap;

        .ingredient-item {
          width: 50%;
          display: flex;
          align-items: center;
          margin-bottom: 15px;

          .ingredient-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background-color: #ff6b6b;
            margin-right: 10px;
          }

          .ingredient-name {
            font-size: 26px;
            color: #333;
          }
        }
      }
    }

    .steps-section {
      .steps-list {
        .step-item {
          display: flex;
          margin-bottom: 25px;

          .step-number {
            width: 32px;
            height: 32px;
            background-color: #ff6b6b;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 12px;
            margin-top: 2px;
            flex-shrink: 0;

            text {
              color: #fff;
              font-size: 24px;
              font-weight: bold;
            }
          }

          .step-content {
            flex: 1;

            .step-description {
              font-size: 26px;
              color: #333;
              line-height: 1.6;
              margin-bottom: 12px;
              display: block;
            }

            .step-image {
              width: 60%;
              border-radius: 8px;
              margin-top: 10px;
              display: block;
            }
          }
        }
      }
    }

    .tips-section {
      background-color: #fff9e6;
      padding: 15px;
      border-radius: 10px;

      .tips-content {
        font-size: 26px;
        color: #8a6d3b;
        line-height: 1.6;
      }
    }
  }
}
